lets_plot.geom_density2df

lets_plot.geom_density2df(mapping=None, *, data=None, stat=None, position=None, show_legend=None, sampling=None, tooltips=None, kernel=None, adjust=None, bw=None, n=None, bins=None, binwidth=None, **other_args)

Fill density function contour.

Parameters
  • mapping (FeatureSpec) – Set of aesthetic mappings created by aes() function. Aesthetic mappings describe the way that variables in the data are mapped to plot “aesthetics”.

  • data (dict or DataFrame) – The data to be displayed in this layer. If None, the default, the data is inherited from the plot data as specified in the call to ggplot.

  • stat (str, default=’density2df’) – The statistical transformation to use on the data for this layer, as a string.

  • position (str or FeatureSpec) – Position adjustment, either as a string (‘identity’, ‘stack’, ‘dodge’, …), or the result of a call to a position adjustment function.

  • show_legend (bool, default=True) – False - do not show legend for this layer.

  • sampling (FeatureSpec) – Result of the call to the sampling_xxx() function. Value None (or ‘none’) will disable sampling for this layer.

  • tooltips (layer_tooltips) – Result of the call to the layer_tooltips() function. Specifies appearance, style and content.

  • kernel (str, default=’gaussian’) – The kernel we use to calculate the density function. Choose among ‘gaussian’, ‘cosine’, ‘optcosine’, ‘rectangular’ (or ‘uniform’), ‘triangular’, ‘biweight’ (or ‘quartic’), ‘epanechikov’ (or ‘parabolic’).

  • bw (str or list of float) – The method (or exact value) of bandwidth. Either a string (choose among ‘nrd0’ and ‘nrd’), or a float array of length 2.

  • adjust (float) – Adjust the value of bandwidth my multiplying it. Changes how smooth the frequency curve is.

  • n (list of int) – The number of sampled points for plotting the function (on x and y direction correspondingly).

  • bins (int) – Number of levels.

  • binwidth (float) – Distance between levels.

  • other_args – Other arguments passed on to the layer. These are often aesthetics settings used to set an aesthetic to a fixed value, like color=’red’, fill=’blue’, size=3 or shape=21. They may also be parameters to the paired geom/stat.

Returns

Geom object specification.

Return type

LayerSpec

Note

geom_density2df() fills density contours.

geom_density2df() understands the following aesthetics mappings:
  • x : x-axis coordinates.

  • alpha : transparency level of a layer. Understands numbers between 0 and 1.

  • fill : color of geometry filling.

Examples

>>> import numpy as np
>>> from lets_plot import *
>>> LetsPlot.setup_html()
>>> n = 1000
>>> np.random.seed(42)
>>> x = np.random.normal(size=n)
>>> y = np.random.normal(size=n)
>>> ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \
>>>     geom_density2df()

>>> import numpy as np
>>> from lets_plot import *
>>> LetsPlot.setup_html()
>>> n = 1000
>>> np.random.seed(42)
>>> x = np.random.normal(size=n)
>>> y = np.random.normal(size=n)
>>> ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \
>>>     geom_density2df(aes(fill='..group..'), show_legend=False) + \
>>>     scale_fill_brewer(type='seq', palette='GnBu', direction=-1)

>>> import numpy as np
>>> from lets_plot import *
>>> LetsPlot.setup_html()
>>> n = 1000
>>> np.random.seed(42)
>>> x = np.random.normal(size=n)
>>> y = np.random.normal(size=n)
>>> p = ggplot({'x': x, 'y': y}, aes(x='x', y='y'))
>>> bunch = GGBunch()
>>> for i, bw in enumerate([.2, .4]):
>>>     for j, n in enumerate([16, 256]):
>>>         bunch.add_plot(p + geom_density2df(kernel='epanechikov', bw=bw, n=n, \
>>>                                            size=.5, color='white') + \
>>>                            ggtitle('bw={0}, n={1}'.format(bw, n)),
>>>                        j * 400, i * 400, 400, 400)
>>> bunch.show()

>>> import numpy as np
>>> from lets_plot import *
>>> LetsPlot.setup_html()
>>> n = 1000
>>> np.random.seed(42)
>>> x = np.random.normal(size=n)
>>> y = np.random.normal(size=n)
>>> p = ggplot({'x': x, 'y': y}, aes(x='x', y='y'))
>>> bunch = GGBunch()
>>> for i, adjust in enumerate([1.5, 2.5]):
>>>     for j, bins in enumerate([5, 15]):
>>>         bunch.add_plot(p + geom_density2df(kernel='cosine', \
>>>                                            size=.5, color='white', \
>>>                                            adjust=adjust, bins=bins) + \
>>>                            ggtitle('adjust={0}, bins={1}'.format(adjust, bins)),
>>>                        j * 400, i * 400, 400, 400)
>>> bunch.show()